/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package proyecto2;

import java.util.ArrayList;

/**
 *
 * @author Pablo
 */
public class CrearUsuario {
    protected ArrayList USR = new ArrayList();
    protected ArrayList pswUSR = new ArrayList();
    protected String msj;
    private boolean acceso = false, informacion = false;
    /*
     * Esta variable es implementada para poder guardar la posicion que ocupa
     * el usuario que ingreso en el programa, y asi realizar verificaciones
     * furutras.
     */
    private int usrActual;
    
    /*
     * Se crea un nuevo usuario
     */
    public void CrearUsr(String usuario, String psw1, String psw2){
        if(USR.contains(usuario)){
            msj = "El Usuario ya existe";
            informacion = false;
        }
        else{
            if(psw1.equals(psw2)){
                USR.add(usuario);
                pswUSR.add(psw1);
                usrActual = USR.indexOf(usuario);
                informacion = true;
                msj = "Su usuario se ha creado exitosamente!";
            }
            else{
                informacion = false;
                msj = "La contraseña no coincide!";
            }
            
        }
    }
    
    /*
     * Encargada de corroborar que el usuario y la contraseña exita
     */
    public void ingresoUsr(String usuario, String pswr){
        /*
         * al ser el usuario unico, se verifica que exista, y se obtiene
         * la posicion en la que se encuentra
         */
        
	if(USR.contains(usuario)){
            usrActual = USR.indexOf(usuario);
            if(pswr.equals(pswUSR.get(usrActual))){
                msj = "Ingreso exitoso!";
                informacion = true;
            }
            else{
                msj = "La contraseña es incorrecta";
                informacion = false;
            }
	}
	else{
            msj = "El usuario no existe";	
            informacion = false;
	}	
    }
    
    /*
     * Metodo implementado para realizara cambio de contraseña 
     */
    public void CambioPsw( String pswAntiguo, String pswNuevo1, String pswNuevo2){
        
        if(pswAntiguo.equals(pswUSR.get(usrActual))){
            if(pswNuevo1.equals(pswNuevo2)){
                pswUSR.remove(usrActual);
                pswUSR.add(usrActual, pswNuevo1);
                msj = USR.get(usrActual) + " su contraseña ha sido cambiada";
                informacion = true;
            }
            else{
                msj = "La contraseña nueva no coincide";
                informacion = false;
            }
        }
        else{
            msj = "La contraseña a cambiar no es correcta";
            informacion = false;
        }		
    }
    
    /*
     * Se controlara la verificacion de las contraseñas para la edicion de
     * informacion; esta se hace con ayuda del usrActual
     */
    
    public boolean ValidarUsuario(String pswVerificacion){
              
        if(pswVerificacion.equals(pswUSR.indexOf(usrActual))){
            acceso = true;
            informacion = true;
        }
        else{
            msj = "La contraseña no coincide!";
            acceso = false;
            informacion = false;
        }
        return acceso;
    }
    
    /*
     * Retorno de cadena para desplegar en JOptionPane
     */
    public String getMsj(){
        return msj;
    }
    
    public boolean getInfo(){
        return informacion;
    }
}